package com.cheer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import java.util.*;

@SpringBootApplication
public class LectureApplication {

    public static void main(String[] args) {
        test01();
        SpringApplication.run(LectureApplication.class, args);
    }

    public static void test01() {
                // 假设这是从MySQL查询中获取的结果集
                List<String[]> resultSet = Arrays.asList(
                        new String[]{"暴红艳", "4", "1696", "3", "4"},
                        new String[]{"测试2024-03-01", "18", "2003", "1", "2"},
                        new String[]{"测试2024-03-01", "18", "2003", "2", "2"},
                        new String[]{"测试2024-03-01", "18", "2003", "3", "2"}
                );

                // 使用Map来存储每个Id的积分和
                Map<String, int[]> scoreSums = new HashMap<>();

                // 遍历结果集并计算每个Id的积分和
                for (String[] row : resultSet) {
                    String id = row[2]; // 假设第三列是Id
                    int type = Integer.parseInt(row[3]); // 类型（1, 2, 或 3）
                    int score = Integer.parseInt(row[4]); // 积分

                    // 检查Map中是否已经有这个Id的条目
                    int[] sum = scoreSums.getOrDefault(id, new int[3]);
                    sum[type - 1] += score; // 更新对应类型的积分和
                    scoreSums.put(id, sum); // 将更新后的积分和放回Map中
                }

                // 提取结果到三个数组中，用于前端ECharts
                List<Integer> oneArray = new ArrayList<>();
                List<Integer> twoArray = new ArrayList<>();
                List<Integer> threeArray = new ArrayList<>();

                for (int[] sum : scoreSums.values()) {
                    oneArray.add(sum[0]);
                    twoArray.add(sum[1]);
                    threeArray.add(sum[2]);
                }

                // 打印结果以验证（在实际应用中，您会将这些数组传递给前端）
                System.out.println("Type 1 Scores: " + oneArray);
                System.out.println("Type 2 Scores: " + twoArray);
                System.out.println("Type 3 Scores: " + threeArray);

                // 在这里，oneArray, twoArray, threeArray已经填充了数据，可以传递给前端了
                // ... (例如，将它们添加到某个响应对象中，然后发送给前端)
            }

}
